Implementing a Domain-Specific Language Using Stratego/XT: An Experience Paper
نویسندگان
چکیده
We describe the experience of implementing a Domain-Specific Language using transformation to a General Purpose Language. The domain of application is image processing and low-level computer vision. The transformation is accomplished using the Stratego/XT language transformation toolset. The implementation presented here is contrasted with the original implementation carried out many years ago using standard compiler implementation tools of the day. We highlight some of the unexpected advantages afforded to us, as language designers and implementers, by the source-to-source transformation technique. We also present some of the practical challenges faced in the implementation and show how these issues were addressed.
منابع مشابه
WebDSL: A Case Study in Domain-Specific Language Engineering
The goal of domain-specific languages (DSLs) is to increase the productivity of software engineers by abstracting from low-level boilerplate code. Introduction of DSLs in the software development process requires a smooth workflow for the production of DSLs themselves. This requires technology for designing and implementing DSLs, but also a methodology for using that technology. That is, a coll...
متن کاملImplementing Refactorings in the Spoofax Language Workbench
Spoofax is a language workbench for efficient development of textual domain-specific languages together with state-of-the-art IDE support. Spoofax integrates language and IDE development into a single environment, using concise, declarative specifications for languages and IDE services. We are extending Spoofax with a framework for the implementation of refactorings. The current paper gives an ...
متن کاملMetaBorg in Action: Examples of Domain-Specific Language Embedding and Assimilation Using Stratego/XT
General-purpose programming languages provide limited facilities for expressing domain-specific concepts in a natural manner. All domain concepts need to be captured using the same generic syntactic and semantic constructs. Generative programming methods and program transformation techniques can be used to overcome this lack of abstraction in general-purpose languages. In this tutorial we descr...
متن کاملXT Capita Selecta
XT is a bundle of program-transformation tools. Stratego is part of this bundle, and is used as implementation language for many tools throughout its packages. Giving special attention to the role of Stratego, we discuss a selection of our XT experiences. These range from the construction of meta-tools to support Stratego programming, through Stratego techniques applied in constructing some of ...
متن کاملProgram Transformation with Stratego/XT: Rules, Strategies, Tools, and Systems in Stratego/XT 0.9
Stratego/XT is a framework for the development of transformation systems aiming to support a wide range of program transformations. The framework consists of the transformation language Stratego and the XT collection of transformation tools. Stratego is based on the paradigm of rewriting under the control of programmable rewriting strategies. The XT tools provide facilities for the infrastructu...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 203 شماره
صفحات -
تاریخ انتشار 2008